using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using SudokuHelper.Model;
using SudokuHelper.Model.Values;

namespace SudokuHelper.Model {
    public interface ISudokuDesk {
        /// <summary>
        /// Returns a value of cell with coordinates <paramref name="row"/> and <paramref name="col"/>
        /// </summary>
        /// <param name="row">Cell's row zero-based index</param>
        /// <param name="col">Cell's column zero-based index</param>
        /// <returns></returns>
        IValue this[int row, int col] { get;}

        /// <summary>
        /// Event raises when cell value is changed
        /// </summary>
        event EventHandler<CellValueChangedEventArgs> CellValueChanged;
    }
}